package model.agent

class Sample {
	/*
	 //		agentset.each{
	 //			Agent a ->
	 //			a.class.name + a.who
	 //		}
	 //
	 //		Long start = System.currentTimeMillis()
	 //
	 //
	 //		//withPool{
	 //		//排序
	 //		agentset.sort{Agent a,Agent b ->
	 //			- (a.who - b.who)
	 //		}
	 //		//一个元素，则从小到大排
	 //		agentset.sort{  Agent a -> a.who }
	 //
	 //		agentset.each{Agent a ->
	 //			//def a = Math.rando
	 //			List<Agent> aa = nof(5,a.other(agentset)){((Agent)it).type=="Firm"}
	 //			println aa
	 //			//println a.other(agents)
	 //			a.number = (int)(aa.who.sum())
	 //		}
	 //
	 //		//子集
	 //		def sub = agentset.findAll{Agent a->
	 //			a.who % 2 == 0
	 //		}
	 //
	 //		//		// 确实是引用，sub和agents里面的元素指向相同的对象
	 //		//		sub[2].who = sub[4].who
	 //		//		//		println sub
	 //		//		//		println agents
	 //		//
	 //		//		//unique可以剔除重复元素，但是对于对象来说，很难说会剔除哪个对象，慎用
	 //		//		sub.unique(){Agent a-> a.who }
	 //		//		//		println "unique: " + sub
	 //		//
	 //		agentset.removeAll(sub)
	 //		//
	 //		agentset.removeAll(){ Agent a-> a.type == "HouseHold" }
	 //		//
	 //		//		//		println agents
	 //		//
	 //		//		//返回一堆true和false
	 //		//		def col = agents.collect{Agent a-> a.who == 13 }
	 //		//		//返回结果
	 //		//		def col2 = agents.collect {Agent a-> a.who * 2 }
	 //		//
	 //		//
	 //		//		//sum也行！
	 //		//		def sum = agents.who.sum()
	 //		//
	 //		//		println sum
	 //		//
	 //		//		//grep，从集合中找到在另一个集合的元素
	 //		//		sub = agents.who.grep([11, 12])
	 //		//
	 //		//
	 //		//		//findAll，条件筛选
	 //		//		sub = agents.findAll{Agent a->a.who == 11}
	 //
	 //
	 //		//}
	 //		println ((System.currentTimeMillis() - start) / 1000 + "sec")
	 *
	 */
}
